On logic programs that always succeed

نویسندگان

  • Dino Pedreschi
  • Salvatore Ruggieri
چکیده

We introduce a generalized definition of SLD-resolution admitting restrictions on atom and/or clause selectability. Instances of these restrictions include delay declarations, input-consuming unification and guarded clauses. In the context of such a generalization of SLD-resolution, we offer a theoretical framework to reason about programs and queries such that all derivations are successful. We provide a characterization of those programs and queries which allows to reuse existing methods from the literature on termination and verification of Prolog programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Diagrammatic reasoning in logic programming

A refutation tree is a standard two-dimensional representation of resolution derivations. Given a logic program, a computation rule and a goal, diierent resolution derivations result from selecting diierent matching clauses in the program. These derivations can be visualized as separate branches in the refutation tree. This process can also be reversed: given an refutation tree where leaf nodes...

متن کامل

Detecting Unsolvable Queries for de nite Logic Programs

In logic programming, almost no work has been done so far on proving that certain queries cannot succeed. Work in this direction could be useful for queries which seem to be non-terminating. Such queries are not exceptional, e.g. in planning problems. The paper develops some methods, based on abduction, goal-directedness, tabulation, and constraint techniques, for proving failure of queries for...

متن کامل

A three-valued semantics for logic programmers

This paper describes a simpler way for programmers to reason about the correctness of their code. The study of semantics of logic programs has shown strong links between the model theoretic semantics (truth and falsity of atoms in the programmer’s interpretation of a program), procedural semantics (for example, SLD resolution) and fixpoint semantics (which is useful for program analysis and alt...

متن کامل

Declarative Diagnosis of Floundering

Many logic programming languages have delay primitives which allow coroutining. This introduces a class of bug symptoms — computations can flounder when they are intended to succeed or finitely fail. For concurrent logic programs this is normally called deadlock. Similarly, constraint logic programs can fail to invoke certain constraint solvers because variables are insufficiently instantiated ...

متن کامل

A Three-Valued Semantic for Horn Clause Programs

The study of semantics of logic programs has shown strong links between the model theoretic semantics (truth and falsity of atoms in the programmer's interpretation of a program), procedural semantics (for example, SLD resolution) and xpoint semantics (which is useful for program analysis and alternative execution mechanisms). Nearly all of this work assumes that intended interpretations are tw...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Sci. Comput. Program.

دوره 48  شماره 

صفحات  -

تاریخ انتشار 2003